package hotel.switchs.oversea.api.VO.order;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
*@Description: 订单操作输入参数实体对象
*@Author: Zhang·jz
*@date: 2020/6/15
*/
@Data
public class OperateDltOrder {

    @ApiModelProperty(value="代理通订单 ID" ,required=true)
    private String dltOrderId;

    /**
     * 0-接受（安排）, 1-拒绝, 2-更改确认号, 3-接受风险订单
     * 4- 拒绝风险订单
     * 7- 手动勾选已发酒店
     * 8- 手动勾选酒店回传接受
     * 9- 手动勾选酒店回传拒绝
     * 11-接受取消,
     * 12-拒绝取消,
     * 14-有房,
     * 15-无房,
     * 16-申请退订,
     * 17-同意退订,
     * 18-拒绝退订
     * 14,15,16,17,18 为 qunar 独有操作状态，
     * qunar 非保留房先操作有房，再操作接
     * 受（quanr 操作流转见附录 3）
     * 3,4 是 EBK 和 B2BOffline 专 有 ，
     * isRiskyOrder=‘T’且订单状态为未处理
     * 时需要操作
     */
    @ApiModelProperty(value="操作类型",required=true)
    private int operaterType;

    /**
     * operaterType=0 时必传 1：按入住人姓
     * 名；2：按确认号
     */
    @ApiModelProperty(value="确认方式",required=true)
    private int confirmType;

    /**
     * operaterType=1 和=12 时传入 1：满房；
     * 2:房价不对;3:其他原因
     * 携程渠道值如下 1：满房封首日；2:满
     * 房封订单入住日；3：房价不对;4:其他
     * 原因
     */
    @ApiModelProperty(value="拒绝类型",required=false)
    private int refuseType;

    /**
     * operaterType=1 和=12 时传入
     */
    @ApiModelProperty(value="拒绝原因",required=false)
    private String refuseRemark;

    /**
     * 去哪儿订单专用,在operaterType=16和
     * =17 时使用
     */
    @ApiModelProperty(value="退款金额",required=false)
    private BigDecimal refundAmount;

    /**
     * （1） operaterType=0 且
     * confirmType=2
     * （2） operaterType=2
     * 满足上述条件之一则传入预订
     * 号，否则不要传递
     */
    @ApiModelProperty(value="酒店预定号",required=false)
    private String bookingNo;

    @ApiModelProperty(value="备注信息",required=false)
    private String remark;

    @ApiModelProperty(value="订单 ID" ,required=false)
    private String orderId;
}
